package project_studentmanager_test;

/**
 * ArrayUtils 工具类：
 * 提供与 Student 数组相关的通用操作方法。
 * 采用私有构造函数，防止被实例化。
 */
public class ArrayUtils {

    /**
     * 私有构造函数：
     * 防止外部通过 new ArrayUtils() 的方式创建对象。
     */
    private ArrayUtils() {
    }

    /**
     * 根据学生学号在 Student 数组中查找对应学生的下标。
     *
     * @param students 存放 Student 对象的数组
     * @param id       要查找的学生学号
     * @param count    数组中已添加学生的数量（有效元素个数）
     * @return 若找到对应学号，则返回该学生在数组中的索引；
     * 若未找到，则返回 -1，表示数组中没有该学号的学生。
     */
    public static int findIndexById(Student[] students, int id, int count) {
        // 遍历数组中前 count 个元素，查找学号匹配的学生
        for (int i = 0; i < count; i++) {
            if (id == students[i].getId()) {
                return i; // 找到匹配的学号，返回索引
            }
        }
        // 遍历结束仍未找到，返回 -1 表示查找失败
        return -1;
    }
}